Apparatus and method for processing a program guide in a digital video system

ABSTRACT

A method and an apparatus for processing packetized signal having a plurality of channels carrying program information. The packetized signal also includes program guide information that includes channel identifier data. The program guide information comprises a sequence of data blocks including a segment map that includes information about the partitioning of the plurality of channels into segments and map block that includes information relating specific channels of the plurality of channels with respective channel identifier data.

This application is a divisional application of U.S. patent applicationSer. No. 09/176,567, filed Oct. 21, 1998, now U.S. Pat. No. 6,064,378which is a divisional application of U.S. patent application Ser. No.08/806,574, filed Feb. 25, 1997, now U.S. Pat. No. 5,867,207, which is adivisional application of U.S. patent application Ser. No. 08/363,235,filed Dec. 23, 1994, now U.S. Pat. No. 5,642,153.

FIELD OF THE INVENTION

This invention is related to the field of digital communicationssystems, and is described with reference to a digital satellitetelevision system, but also may be applicable to a digital cable systemor digital terrestrial broadcast system. The invention also concernsscreen displays and user menus for controlling such a system.

BACKGROUND OF THE INVENTION

In a satellite television communication system, the satellite receives asignal representing audio, video, or data information from anearth-based transmitter. The satellite amplifies and rebroadcasts thissignal to a plurality of receivers, located at the homes of consumers,via transponders operating at specified frequencies and having givenbandwidths. Such a system includes an uplink transmitting portion (earthto satellite), an earth-orbiting satellite receiving and transmittingunit, and a downlink portion (satellite to earth) including a receiverlocated at the user's residence. The subject matter of the presentinvention is especially concerned with a downlink receiving unitdesigned for relatively easy installation at the user's residence.

The present system utilizes two satellites within a few degrees of eachother in geosynchronous earth-orbit stationed at an altitude of 22,300miles, approximately over the state of Texas. With this arrangement,receivers located anywhere in the contiguous 48 states of the UnitedStates can receive signals from both satellites on the same receivingantenna dish without having to reposition the antenna dish. Eachsatellite transmits its signals with a respective polarization.Selecting a satellite for reception of its signals is accomplished atthe receiving antenna by selecting those signals with the appropriatepolarization. Each satellite includes sixteen transponders fortransmitting signals to the receiving antenna dish over a range offrequencies. Each transponder is time-multiplexed to convey a pluralityof television channels (e.g., six to eight channels), substantiallysimultaneously. The satellite signals are transmitted in compressed andpacketized form, and comprise television and ancillary data signals.Because the system is capable of carrying as many as two hundredfifty-six channels, some television program selection method andapparatus, which is easy to understand and operate, must be provided forthe user.

If we look to conventional analog VHF and UHF broadcast television as aguide, we find that the solution provided therein is of little help, forthe following reasons. The channel number of a given television stationcorresponds to a fixed band of frequencies. In other words, channel 6 inthe United States is regulated to occupy the range from 82–88 MHz. Mostnon-technical consumers have no understanding of the frequencyallocations of the television broadcast bands. Instead, they tune adesired channel by entering its channel number into their receiver.Their receiver is programmed with the proper information to perform therequired tuning to the desired channel by generating the appropriatebandswitching and tuning commands, in response to the entering of thechannel number by the user. It is possible for manufacturers to build afixed channel number-to-frequency translation arrangement into eachtelevision receiver, only because the relationship between channelnumber and frequency band must conform to a broadcast standard.

This fixed-frequency standard is acceptable to the broadcasters becausetheir transmitting equipment is readily accessible for maintenancepurposes due to its location on the ground. If the transmittermalfunctions, it can be repaired and the station can be back“on-the-air” at its designated frequency band in a relatively shorttime. In contrast, a fixed-frequency arrangement for a satellite isundesirable because of the practical inaccessibility of an orbitingsatellite. In the event that a transponder malfunctions, thattransponder is thereafter inoperative, essentially forever, andreceivers programmed to tune that transponder to receive a desiredtelevision program would not receive a usable signal. In such an event,the receiver will have lost the desired television channels and willhave no idea how to find them.

A satellite receiver may be programmed to perform a function similar tothe common autoprogramming function, in which a television receiversearches for all active channels and records detection of each as it isfound. If such a system is used after a transponder failure, the failedtransponder will be noted and a new active transponder will be found(assuming that the programming has been moved to a new transponder byground-based control personnel). The user's receiver would then have toperform an internal remapping to associate the desired channel with thenew transponder. However, in the event that a power supply module failedin the satellite, several transponders which may receive power from thatmodule may cease transmitting at once. In such an event, theautoprogramming solution given above will not work because several newtransponders will be found at the same time as several old transpondersare noted as missing. In such a case, the receiver will have no way ofallocating the received signals to their proper channels. Moreover, asnoted above, since each transponder conveys six to eight channels, thechannels assigned to the failed transponder may be distributed amongseveral still-functioning transponders. In that case the receivingantenna will have access to all of the television channels, but thereceiver will, quite literally, not know where to look for thosechannels which have been moved.

SUMMARY OF THE INVENTION

A television system for receiving a plurality of digitally-encodedtelevision programs includes circuitry for selecting a particulardigital data transmission channel from a plurality of digital datatransmission channels containing a desired digitally-encoded televisionprogram in response to a control signal, at least one of the datatransmission channels also including television program schedule data.The system also includes user-operable data entry circuitry for enteringdata, and a controller for generating the above-noted control signal inresponse to user-entered data. The controller selects a virtual channelfrom a plurality of virtual channels in response to user-entered data,each virtual channel being subject to reassignment to a different one ofsaid a plurality of digital data transmission channels, the televisionprogram schedule data defining the relationship of each of thetelevision programs to respective ones of the plurality of digital datatransmission channels. Each digital transmission channel provides a“packetized digital data multiplex” (PDDM) of program guides, audio,video and data. As such, the subject system provides a comprehensive andlogical organization for transmission of multiple television programs indigital form useful in both satellite and terrestrial broadcasting.

BRIEF DESCRIPTION OF THE DRAWING

FIGS. 1 and 2 are illustrations of a typical transmitted data streamfrom a transponder in accordance with the invention.

FIG. 3 is an illustration of a program guide screen display inaccordance with the invention.

FIG. 4 is an illustration of segmentation of the master program guideand special program guides in accordance with the invention.

FIGS. 5 a and 5 b are illustrations of program data structures inaccordance with the invention.

FIG. 6 is a block diagram of a satellite transmitting/receiving systemaccording to the invention.

FIG. 7 is a block diagram of the IRD receiver unit.

FIG. 8 is a block diagram of a portion of the IRD receiver unit of FIGS.6 and 7, in detail.

DETAILED DESCRIPTION OF THE DRAWING

In the subject system, the information necessary to select a giventelevision program is not fixedly-programmed into each receiver but israther is down-loaded from the satellite continually on eachtransponder. The television program selection information comprises aset of data known as a Master Program Guide (MPG), which relatestelevision program titles, their start and end times, a virtual channelnumber to be displayed to the user, and information allocating virtualchannels to transponder frequencies and to a position in thetime-multiplexed data stream transmitted by the particular transponder.In a system according to the subject invention, it is not possible totune any channel until the first master program guide is received fromthe satellite, because the receiver literally does not know where anychannel is located in terms of frequency and position (i.e. data timeslot) within the data stream of any transponder. The concept of virtualchannels allows allocation of virtual channel numbers by category, suchas, sports, movies, news. This realization, in turn, allows for activeand inactive virtual channels. That is, ten virtual channels assigned tosporting events on a Saturday afternoon, may be inactivated after thegames and may provide enough bandwidth to support, for example, twentymovie channels. Thus, the user has the perception that he has many morechannels than, in fact, could be supported simultaneously, by theavailable bandwidth. Another words, the concept of virtual channelsallows time-multiplexing of the system bandwidth. Moreover, it allows atelevision program requiring greater bandwidth (such as a sportingevent) to “borrow” bits from a second television program on the sametransponder which does not require as great a bandwidth (such as a “talkshow”). Thus, the available bandwidth of a given transponder can bereallocated, as needed, from one virtual channel to another.

Advantageously, the system is totally flexible in that any program maybe assigned, or reassigned at any master program guide transmissiontime, to any transponder or data time slot, in a fashion which iscompletely transparent to the user, who sees only the unchanged programtitle and virtual channel. Thus, the problem of multiple failedtransponders can be solved without the user even being aware that it hasoccurred, by a quickly performed reallocation of the affected televisionprograms to functioning transponders with unused data time slots, and bytransmitting a new program guide to the users.

A master program guide is preferably transmitted on all transponderswith the television program video and audio data, and is repeatedperiodically, for example, every 2 seconds. The master program guide isnot encrypted, and can be used by the receiver immediately after beingreceived and stored. The master program guide, once received, ismaintained in a memory unit in the receiver, and updated periodically,for example every 30 minutes. Retention of the master program guideallows instantaneous television program selection because the necessaryselection data are always available. If the master program guide were tobe discarded after using it to select a television program, then a delayof at least two seconds would be incurred while a new program guide wasacquired, before any further television program selections could beperformed.

As noted above, the system is capable of transmitting hundreds ofprograms. Each program may include a number of services. A service isdefined herein as a program component, such as a video signal, an audiosignal, a closed caption signal, or other data, including executablecomputer programs for an appropriate receiver. Each service of eachprogram is identified by a unique Service Component Identifier (SCID).The information for the respective services is transmitted in packets ofpredetermined amounts of data (e.g., 130 bytes) and each packet includesan SCID corresponding to the service.

A representation of a typical data stream from one of the transpondersis shown in FIG. 1, and a typical packet from that data stream is shownin FIG. 2. In FIG. 1, a string of boxes represents signal packets whichare components of a plurality of different television programstransmitted by a given transponder. Packets with letters having likesubscripts represent components of a single television program. Forexample, packet identified as V₁, A₁ and D₁, represent video, audio, anddata for program 1. In the upper line of the string of packets, therespective components of a particular program are shown groupedtogether. However, it is not necessary to group components of aparticular program together, as indicated by the packet sequence in themiddle of the string. Moreover, there is no requirement to place thepackets of a string in any particular order.

The string of packets shown in FIG. 2, represents three time multiplexedprograms, programs 1, 2, and 3, plus packets representing a programguide (packets D4). It is important to note that the data of the programguide interrelates program components and virtual channels by virtue ofthe SCID. The respective packets are arranged to include a prefix and apayload as shown in FIG. 2. The prefix of this example includes two8-bit bytes comprising five fields, four of which are 1-byte fields (P,BB, CF, CS), and one 12-bit field (SCID). The Payload portion containsthe actual information to be received and processed. The exemplaryprefix includes a 1-bit priority field (P); a 1-bit boundary field (BB),which indicates boundaries between significant signal changes; a 1-bitfield (CF), which indicates whether or not the payload is scrambled; a1-bit field (CS), which indicates which one of two descrambling keys isto be used to descramble a scrambled payload; and a 12-bit SCID. Theremainder of the packet comprises the payload which may include errorcode parity bits appended to the end of the payload data.

A master program guide comprises packetized data formatted as definedabove, and is assigned a specific SCID, such as, 0000 0000 0001. Amaster program guide comprises four sequential blocks of data,designated, SEGM, APGD, CSSM1 . . . CSSMnseg, and PISM1 . . . PISMnseg,to be described below.

A master program guide typically includes television schedules for thenext two hours, but may include schedules for four, six, or eight hoursdepending on the size of the memory allocated to store it in thereceiver. In addition to the master program guide, there is alsoprovided one or more special program guides (SPG), containing additionaldata, such as, for example, television program schedules for thefollowing eight hours. That is, the master guide holds all informationnecessary for selecting current television programs, and the specialguides contain information about future television programs. Specialguides are downloaded from the satellite as needed and are not retainedin memory due to their large size. As shown in FIG. 2, both the masterprogram guide and special program guides are partitioned into aplurality of segments or portions (from 0 to 15) with an index “nseg”indicating the current number of segments comprising the special guide.Each segment carries program information for one or more virtualchannels which range from 100 to 999. FIG. 2 shows only an exemplaryallocation of virtual channels to segments, and other groupings can be,and are made at the discretion of the operators at the satellite uplinkcenter. Each special guide segment includes two sequential blocks ofdata, CSSM1 . . . CSSMnseg, and PISM1 . . . PISMnseg, also to bedescribed below.

The Segment Map (SEGM) block of the master program guide containsinformation about the partitioning of the channel space into segments,and the number of segments. The Additional Program Guide Data (APGD)block contains a program guide map which indicates which special programguide segments are active, and their location (i.e., the particulartransponder carrying the segment), as well as the SCIDs of therespective segments. The APGD block contains program informationrelating to ratings and theme of a particular television program. TheAPGD also includes a program guide map associating special guidesegments with respective names, numbers, and types.

The master guide and every special guide contain a Channel to ServiceSegment Map (CSSM) block and a Program information Segment Map (PISM)block. The CSSM describes virtual channels (channel name, call letters,channel number, type, . . . ) which are in the corresponding segment.The PISM block contains linked lists of program information (title,start time, duration, rating, category, . . . ) that are on each virtualchannel described in the corresponding CSSM.

Relevant portions of the data structures shown in FIGS. 3, 4, 5 a and 5b will be referred to in the following description of the programselection process. Referring to FIG. 3, a user selects a televisionprogram for viewing, by moving a cursor (via operation of remote controlup, down, right, and left, direction control keys) to a block of theprogram guide screen display which contains the name of the desiredprogram. The remote control unit is not shown for simplicity. When aSELECT key of the remote control is pressed, the current x and yposition of the cursor is evaluated to derive virtual channel andprogram time information.

As shown in FIG. 4, and as noted above, the master program guide andspecial program guides are divided into segments (which may be as littleas one segment or as many as 16). The lowest virtual channel (100) isalways allocated as the first channel of seg (0). Each segment containschannel and program information for a defined number of virtualchannels.

Upon deriving the virtual channel number from the X and Y cursorposition information the virtual channel number is used to point intothe proper segment of the particular program guide (either masterprogram guide, or a special program guide) to retrieve the specificchannel information and program information. Specifically, the ChannelInformation (CI) Records in the CSSM (Channel to Service Segment Map)are a fixed length of seventeen bytes and contain such items as, thenumber of SCIDs in use (typically 2, audio and video), the channeltransponder (Chan Xpndr) the channel number and short name (i.e.,typically 4 characters), and a pointer into the linked programinformation. In order to access any specific Channel Information (CI) itis only required to repeatedly add 17 to a base value. Programinformation includes the start day and time of the program, the numberof 30 minute slots it occupies, the theme category (i.e., drama, sports,comedy), and parental rating.

Once the channel transponder carrying a desired television program istuned, the data packets containing the audio and video information forthat program can be selected from the data stream received from thetransponder by examining the data packets for the proper SCID (ServiceComponent Identifier) 12 bit code. If the SCID of the currently receiveddata packet matches the SCID of the desired television program as listedin the program guide, then the data packet is routed to the proper dataprocessing sections of the receiver, if the SCID of a particular packetdoes not match the SCID of the desired television program as listed inthe program guide, then that data packet is discarded.

A brief description of system hardware, suitable for implementing theabove-described invention, now follows. In FIG. 6, a transmitter 601processes a data signal from a source 614 (e.g., a television signalsource) and transmits it to a satellite 613 which receives andrebroadcasts the signal to a receiver 612.

Transmitter 601 includes an encoder 602, a modulator/forward errorcorrector (FEC) 603, and an uplink unit 604. Encoder 602 compresses andencodes signals from source 614 according to a predetermined standardsuch as MPEG. MPEG is an international standard developed by the MovingPicture Expert Group of the International Standards Organization forcoded representation of moving pictures and associated audio stored ondigital storage medium. An encoded signal from unit 602 is supplied tomodulator/Forward Error Corrector (FEC) 603, which encodes the signalwith error correction data, and Quaternary Phase Shift Key (QPSK)modulates the encoded signal onto a carrier. Both convolutional andReed-Solomon (RS) block coding are performed in block 603.

Uplink unit 604 transmits the compressed and encoded signal to satellite613, which broadcasts the signal to a selected geographic receptionarea. In this embodiment, satellite 613 operates in two modes, whichtrade off channel capacity for transmission power, or transmission powerfor channel capacity. In the first mode satellite 613 illustrativelytransmits sixteen channels at 120 watts each. In the second mode,satellite 613 transmits eight channels at 240 watts each.

The signal from satellite 613 is received by an antenna dish 605 coupledto an input of a so-called set-top receiver 612 (i.e., an interfacedevice situated atop a television receiver). Receiver 612 includes ademodulator/Forward Error Correction (FEC) decoder 607 to demodulate thesignal and to decode the error correction data, a microprocessor 606,which operates interactively with demodulator/FEC unit 607, and atransport unit 608 to transport the signal to an appropriate decoderwithin unit 609 depending on the content of the signal, i.e., audio orvideo information. Transport unit 608 receives corrected data packetsfrom unit 607 and checks the header of each packet to determine itsrouting. Decoders in unit 609 decode the signal and remove addedtransport data, if used. An NTSC Encoder 610 encodes the decoded signalto a format suitable for use by signal processing circuits in a standardNTSC consumer television receiver 611.

FIG. 7 is a block diagram showing the components of the IRD receiversystem including the outdoor antenna dish unit 7-5. The IRD includes ablock 707 including a tuner 734 and a demodulator unit 735 for tuningvarious television signals. The IRD is under control of amicrocontroller 706, which also controls the interfaces between the IRDand a telephone network via a telephone modem 734, between the IRD and auser via an IR link 725 and between the IRD and a television receivervia an MPEG decoder 723, a video encoder 721, and an RF modulator 722,and finally, between the IRD unit and a user via a smart card interfaceand transport IC 708.

Referring now to FIG. 8, demodulator/FEC unit 807 acquires, demodulates,and decodes the data signal which is received from antenna dish 805.This unit includes a tuner 834, a Quaternary Phase Shift Key (QPSK)demodulator 835, a Viterbi convolutional decoder 836, a de-interleaver837, and a Reed-Solomon (RS) decoder 838, all of conventional design,arranged as shown.

Tuner 834 receives an input signal from antenna dish 805. Based upon auser's channel selection, a control unit 806 (i.e., a microprocessor)sends a frequency signal to tuner 834. This signal cause tuner 834 totune to the appropriate channel and to downconvert the received signalin frequency in response to the tuning frequency signal sent to tuner834 from microprocessor 806. An output signal from tuner 34 is providedto QPSK demodulator 835.

QPSK demodulator 835 locks onto (synchronizes with) the tuned channel,demodulates the modulated data signal, and generates a signal indicativeof the quality of the demodulated signal. Demodulator 835 demodulatesthe modulated input data signal regardless of the error correction coderate of the received data signal. Phase-locked loop circuitry indemodulator 835 synchronizes the operation of demodulator 835 with theinput signal using well-known techniques. Demodulator 835 generates aDemodulator Lock output control signal that indicates whether or notdemodulator 835 is synchronized with the input signal, and supplies thissignal to a storage register in microprocessor 806 an output demodulateddata signal from unit 835 is provided to Viterbi decoder 836.Demodulator 835 also generates an output Signal Quality signal, which isindicative of the quality of the signal received from the satellitetransmission, and is related to the signal-to-noise ratio of thereceived signal. Various sources of noise, as well as rain fade, mayimpair the quality of a received signal. A QPSK demodulator suitable foruse as unit 835 is commercially available from Hughes Network Systems ofGermantown, Md. (integrated circuit type No. 1016212), and fromComstream Corp. . . . San Diego Calif. (No. CD2000).

Decoder 836 uses a Viterbi algorithm to decode and to correct bit errorsin the demodulated signal from unit 835. Decoder 836 includes internalnetworks, as known, to synchronize its operation to the incomingdemodulated signal in order to effectively decode the demodulatedsignal.

After decoder 836 decodes and error corrects the demodulated datasignal, the decoded data signal is supplied to a de-interleaver 837.De-interleaver 837 restores the ordering of the data signal to itsoriginal sequence, and forms Reed-Solomon blocks (RS blocks), inaccordance with known techniques. For this purpose de-interleaver 837relies upon an 8-bit sync word inserted by the encoder at the beginningof each RS block, thereby providing RS block synchronization. Thede-interleaved signal is supplied to a Reed-Solomon (RS) decoder 838.

RS decoder 838 decodes the RS blocks and corrects byte errors within ablock. A decoded signal from Viterbi decoder 836 is provided to RSdecoder 838 via de-interleaver 837. If decoder 36 uses the proper errorcorrection decode rate to decode the data signal, de-interleaver 837 andReed-Solomon decoder 838 will operate normally.

Thus, a digital multi-channel transmission system has been disclosed anddescribed which allocates television programs to transponders and totime-multiplexed slots in the data stream of a given transponder in away which is completely transparent to the user, who simply tunes adesired television program by selecting a virtual channel. It has beenfurther explained above, that the key to the smooth operation of thissystem is the transmission of the master and special channel guideswhich relate transponder channels and program data positions in thetransponder data stream to virtual channel numbers.

1. A signal processing apparatus, comprising: means for receiving apacketized signal; and means for identifying and processing programguide information included in said packetized signal and for identifyingand processing a selected program from one of a plurality of channels inresponse to said program guide information, said program guideinformation comprising a sequence of data blocks including, a segmentmap block that includes information about the partitioning of saidplurality of channels into segments and a channel to service segment mapblock that includes information relating specific channels of saidplurality of channels with respective channel identifier data.
 2. Thesignal processing apparatus of claim 1, wherein said sequence of datablocks further comprises a program information segment map block thatincludes program related information associated with each program oneach of said plurality of channels.
 3. The signal processing apparatusof claim 2, wherein said sequence of data blocks further comprises anadditional program guide data block that includes information foridentifying and processing a second program guide.
 4. The signalprocessing apparatus of claim 3, wherein said additional program guidedata block includes program information relating to the theme and ratingof a selected program.
 5. The signal processing apparatus of claim 3,wherein said second program guide includes a sequence of data blocksincluding a second channel to service segment map block that includessecond information relating specific channels of said plurality ofchannels with respective channel identifier data and a second programinformation segment map block that includes second program relatedinformation associated with each program on each of said plurality ofchannels.
 6. The signal processing apparatus of claim 3, wherein saidprogram guide includes information relating to programs transmittedduring a first time interval and said second program guide includesinformation relating to programs transmitted during a second timeinterval, said second time interval following said first time interval.7. A method of processing a packetized signal, the method comprising thesteps of: acquiring program guide information included in the packetizedsignal; identifying and processing a sequence of data blocks in theprogram guide information, the sequence of data blocks including asegment map block that includes information about the partitioning ofsaid plurality of channels into segments and a channel to servicesegment map block that includes information relating specific channelsof said plurality of channels with respective channel identifier data;and acquiring a selected program from one of a plurality of channels inresponse to the information in the sequence of data blocks.
 8. Themethod according to claim 7, wherein the identifying step includesidentifying and processing a program information segment map block thatincludes program related information associated with each program oneach of said plurality of channels.
 9. The method according to claim 8,wherein the identifying step further includes identifying and processingan additional program guide data block that includes information foridentifying and processing a second program guide.
 10. The methodaccording to claim 9, further comprising the step of identifying andprocessing from the additional program guide data block a sequence ofdata blocks including a second channel to service segment map block thatincludes second information relating specific channels of said pluralityof channels with respective channel identifier data and a second programinformation segment map block that includes second program relatedinformation associated with each program on each of said plurality ofchannels.
 11. The method according to claim 10, wherein the secondacquiring step comprises acquiring a first program during a first timeinterval in response to the program guide and acquiring a second programduring a second time interval in response to the second program guide,the second time interval following the first time interval.